<?php

namespace JsonLowCode\Traits\Props;

/**
 * 设置组件大小尺寸
 */
trait HasTinySize
{
    /**
     * 设置组件大小尺寸
     * @param string $size 'tiny' | 'small' | 'medium' | 'large' 是否js表达式
     * @return $this
     */
    public function size(string $size = 'tiny' | 'small' | 'medium' | 'large'): static
    {
        return $this->prop('size',$size);
    }

    /**
     * 设置组件最小尺寸
     * @return $this
     */
    public function tiny(): static
    {
        return $this->size('tiny');
    }

    /**
     * 设置组件小尺寸
     * @return $this
     */
    public function small(): static
    {
        return $this->size('small');
    }

    /**
     * 设置组件默认尺寸
     * @return $this
     */
    public function medium(): static
    {
        return $this->size('medium');
    }

    /**
     * 设置组件大尺寸
     * @return $this
     */
    public function large(): static
    {
        return $this->size('large');
    }
}
